/**
 * 用户登录信息公共类
 * @version 1.0.0
 */
class LoginState {
    /**
     * 保存登录会话信息
     */
    static setLoginInfo(data) {
        window.sessionStorage.setItem(EsConfig.loginSessName, data);
    }
    /**
     * 获取登录会话信息
     * 返回 string|null
     */
    static getLoginInfo(onlyToken = true) {
        let text = window.sessionStorage.getItem(EsConfig.loginSessName);
        if (!text || !onlyToken) {
            return text;
        }
        if (isNaN(text.substring(0, 10))) {
            return text;
        }
        return text.substring(11);
    }

    /**
     * 清除登录会话信息
     */
    static clearLoginInfo() {
        window.sessionStorage.removeItem(EsConfig.loginSessName);
    }

    /**
     * 检测登录状态
     * 检测 token 是否过期 (1658801592.eyJ0eXAi...CJKweJ0ljZA)
     */
    static isLogin() {
        let text = this.getLoginInfo(false);
        if (!text) {
            console.log('[检测登录状态] 未登陆');
            return false;
        }
        let time = text.substring(0, 10), now = Math.ceil((new Date()).getTime() / 1000);
        // console.log('checkLoginInfo', time, now);
        if (time <= now) {
            console.log('[检测登录状态] 已超时');
            return false;
        }
        return true;
    }
}